// 植物
enum PlantModel {
  // 太阳花
  sunflower(
    healthBarTop: -7,
    healthBarLeft: 16,
  ),
  // 豌豆射手
  peashooter(
    attackPeriod: 1.3,
    attack: 10,
    bulletSpeedHorizontal: 400,
    scaleHitBoxK: 0.5,
    hitBoxKOffsetY: 20,
  ),
  // 卷心菜
  cabbagepult(
    hp: 125,
    attackPeriod: 1.8,
    attack: 8,
    healthBarLeft: 45,
    scaleHitBoxK: 0.5,
    hitBoxKOffsetY: 20,
  ),
  // 仙人掌
  cactus(
    hp: 125,
    attackPeriod: 1.3,
    attack: 9,
    healthBarTop: 70,
    healthBarLeft: 55,
    scaleHitBoxK: 0.4,
    hitBoxKOffsetY: 40,
  );

  final double hp; // 生命值
  final double attackPeriod; // 植物攻击间隔
  final double attack; // 子弹攻击伤害
  final double? bulletSpeedHorizontal; // 子弹横向移动速度
  final double healthBarLeft; // 血条左侧距离
  final double healthBarTop; // 血条顶部距离
  final double scaleHitBoxK; // 缩放碰撞矩阵
  final double hitBoxKOffsetX; // 碰撞矩阵 偏移X
  final double hitBoxKOffsetY; // 碰撞矩阵 偏移Y

  const PlantModel({
    this.hp = 100,
    this.attackPeriod = 1,
    this.attack = 10,
    this.bulletSpeedHorizontal = 400,
    this.healthBarLeft = 40,
    this.healthBarTop = 40,
    this.scaleHitBoxK = 0.8,
    this.hitBoxKOffsetX = 0,
    this.hitBoxKOffsetY = 0,
  });
}
